<?php
class Dica {
    

    private $dica_trad;
    private $iddica;
    
    //--------------------  atributos da tabela resposta
    private $idresposta;
    
    //--------------------  atributos da tabela pergunta
    private $idpergunta;
    
    //-------------------- atributos da tabela pais
    private $idpais;
    private $nome_pais;
    
    
    //variaveis internas
    private $bd; //conexão com o banco
    private $tabela; //nome da tabela

    public function __construct() {
        $this->bd = new BD();
        $this->tabela = "traddica";
    }

    public function __get($key) {
        return $this->$key;
    }

    //método de retorno de valores do objeto 
    public function __set($key, $value) {
        $this->$key = $value;
    }

    //METODOS 
    //BANCO DE DADOS
    public function inserir() {
        
        $sql = " INSERT INTO dica (iddica) 
            SELECT MAX(iddica)+1 AS proximo FROM dica;

            INSERT INTO traddica (iddica, idpais, trad_dica)
            VALUES ((SELECT MAX(iddica) from dica), '$this->idpais', '$this->trad_dica') ";

        $retorno = pg_query($sql);
        
        return $retorno;
    }
    

       
// --------------------------------------------------------------------------    
    public function listar($complemento = "") {
        $sql = "SELECT nome_pais, iddica, trad_dica, traddica.idpais FROM traddica 
                INNER JOIN pais on traddica.idpais = pais.idpais 
                ORDER BY iddica". $complemento;

        $resultado = pg_query($sql);
        $retorno = NULL;
        
        //percorre os registros
        while ($reg = pg_fetch_assoc($resultado)) {
            //transforma em objetos categoria
            $obj = new Dica();                       
            $obj->iddica = $reg["iddica"];
            $obj->trad_dica = $reg["trad_dica"];
            $obj->nome_pais = $reg["nome_pais"];
            $obj->idpais = $reg["idpais"];
           
            
            //adiciona a variavel de retorno
            $retorno[] = $obj;   
        }
        return $retorno;
    }
    
// --------------------------------------------------------------------------    
    public function listarselecionadas($complemento = "") {
        $sql = "SELECT nome_pais, iddica, trad_dica, traddica.idpais FROM traddica 
                INNER JOIN pais on traddica.idpais = pais.idpais 
                where ";
                
                foreach($this->iddica as $filtro){
        $sql.= "traddica.iddica = $filtro or ";
                }
        $sql = substr($sql, 0, -3);
        $sql.=  " ORDER BY iddica ". $complemento;

        $resultado = pg_query($sql);
        $retorno = NULL;
        
        //percorre os registros
        while ($reg = pg_fetch_assoc($resultado)) {
            //transforma em objetos categoria
            $obj = new Dica();                       
            $obj->iddica = $reg["iddica"];
            $obj->trad_dica = $reg["trad_dica"];
            $obj->nome_pais = $reg["nome_pais"];
            $obj->idpais = $reg["idpais"];
           
            
            //adiciona a variavel de retorno
            $retorno[] = $obj;   
        }
        return $retorno;
    }
 
// --------------------------------------------------------------------------    
   public function excluir() {
        
        $sql = "DELETE FROM traddica WHERE  iddica =$this->iddica ;
            
                DELETE FROM dica WHERE iddica =$this->iddica";
        $retorno = pg_query($sql);
        return $retorno;
    }

// --------------------------------------------------------------------------    
    public function atualizar() {
        $retorno = false;                                 // nome dos campos 
        $sql = "update traddica set 

                     trad_dica = '$this->trad_dica'    
                     where iddica = '$this->iddica'";
        $retorno = pg_query($sql);
        return $retorno;
    }

// --------------------------------------------------------------------------    

    public function retornarunico() {
        
        $sql = "SELECT nome_pais, iddica, trad_dica, traddica.idpais, idioma.nome_idioma FROM traddica 
                INNER JOIN pais on traddica.idpais = pais.idpais 
                INNER JOIN idioma on idioma.ididioma = pais.ididioma
                where iddica = $this->iddica";

        $resultado = pg_query($sql);
        $retorno = NULL;
        
        //percorre os registros
        $reg = pg_fetch_assoc($resultado); 
            //transforma em objetos categoria
            $obj = new Dica();                       
            $obj->iddica = $reg["iddica"];
            $obj->trad_dica = $reg["trad_dica"];
            $obj->nome_pais = $reg["nome_pais"];
            $obj->nome_idioma = $reg["nome_idioma"];
            $obj->idpais = $reg["idpais"];
           
            
            //adiciona a variavel de retorno
            $retorno = $obj;   
        
        return $retorno;
        
    }
    
//---------------------------------------------------------------------------
    public function listarpais($complemento = "") {
        $sql = "SELECT * FROM pais 
                INNER JOIN idioma on idioma.ididioma = pais.ididioma". $complemento;

        $resultado = pg_query($sql);
        $retorno = NULL;
        
        //percorre os registros
        while ($reg = pg_fetch_assoc($resultado)) {
            //transforma em objetos categoria
            $obj = new Resposta();                       
            $obj->idpais = $reg["idpais"];
            $obj->nome_pais = $reg["nome_pais"];
            $obj->nome_idioma = $reg["nome_idioma"];
           
            
            //adiciona a variavel de retorno
            $retorno[] = $obj;   
        }
        return $retorno;
    }
    
    
// --------------------------------------------------------------------------    

    
    
}


?>